CREATE PROCEDURE dbo.sp_RepPromedioNotificaciones

-- Parametros

@FechaDesde varchar(30) ,
@FechaHasta varchar(30) 

AS

DECLARE
@FechaInicial datetime ,
@FechaFinal datetime , 
@Cant_Dias int ,
@Total_Notificaciones int , 
@Asuntos_Nuevos int , 
@Asuntos_Anteriores int , 
@Promedio_Diario Decimal , 
@Cant_Meses Decimal ,
@Promedio_Mensual Decimal 

SET @FechaInicial = CONVERT( DATETIME , LEFT( @FechaDesde , 10 ) + ' 00:00:00' , 121 ) 
SET @FechaFinal   = CONVERT( DATETIME , LEFT( @FechaHasta , 10 ) + ' 23:59:00' , 121 ) 


SELECT	Consecutivo , 
	'Fecha_PGR' = CONVERT( datetime , CONVERT( varchar(10) , Fecha_PGR , 121 ) , 121 ) , 
	'Fecha_Ing_PGR' = CONVERT( datetime , CONVERT( varchar(10) , Fecha_Ing_PGR , 121 ) , 121 ) 
INTO	#Consulta
FROM 	Exp_Fecha AS f 
	INNER JOIN Expediente AS e  ON f.Expediente = e.Expediente 
WHERE 	Fecha_PGR BETWEEN @FechaInicial AND @FechaFinal


SELECT DISTINCT Fecha_PGR INTO #Dias FROM #Consulta
SET @Cant_Dias = ( SELECT COUNT( Fecha_PGR ) FROM #Dias ) 

SET @Total_Notificaciones = ( SELECT COUNT( Consecutivo ) FROM #Consulta )
SET @Asuntos_Nuevos = ( SELECT COUNT( Consecutivo ) FROM #Consulta WHERE YEAR( Fecha_Ing_PGR ) = YEAR( @FechaInicial ) )
SET @Asuntos_Anteriores = @Total_Notificaciones - @Asuntos_Nuevos

SET @Promedio_Diario = @Total_Notificaciones / @Cant_Dias 
SET @Cant_Meses = (SELECT COUNT( DISTINCT MONTH( Fecha_PGR ) ) FROM #Consulta )
SET @Promedio_Mensual = @Total_Notificaciones / @Cant_Meses 

DROP TABLE #Dias
DROP TABLE #Consulta

SELECT 	'Fecha_Desde' = @FechaInicial ,
	'Fecha_Hasta' = @FechaFinal ,
	'Cant_Dias' = @Cant_Dias , 
	'Cant_Meses' = @Cant_Meses , 
	'Total_Notificaciones' = @Total_Notificaciones , 
	'Asuntos_Nuevos' = @Asuntos_Nuevos , 
	'Asuntos_Anteriores' = @Asuntos_Anteriores , 
	'Promedio_Diario' = @Promedio_Diario , 
	'Promedio_Mensual' = @Promedio_Mensual 
